home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / complib / cgbtf2.z / cgbtf2
Text File  |  1998-10-30  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCGGGGBBBBTTTTFFFF2222((((3333FFFF))))                                                          CCCCGGGGBBBBTTTTFFFF2222((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CGBTF2 - compute an LU factorization of a complex m-by-n band matrix A
  10.      using partial pivoting with row interchanges
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CGBTF2( M, N, KL, KU, AB, LDAB, IPIV, INFO )
  14.  
  15.          INTEGER        INFO, KL, KU, LDAB, M, N
  16.  
  17.          INTEGER        IPIV( * )
  18.  
  19.          COMPLEX        AB( LDAB, * )
  20.  
  21. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  22.      CGBTF2 computes an LU factorization of a complex m-by-n band matrix A
  23.      using partial pivoting with row interchanges.
  24.  
  25.      This is the unblocked version of the algorithm, calling Level 2 BLAS.
  26.  
  27.  
  28. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  29.      M       (input) INTEGER
  30.              The number of rows of the matrix A.  M >= 0.
  31.  
  32.      N       (input) INTEGER
  33.              The number of columns of the matrix A.  N >= 0.
  34.  
  35.      KL      (input) INTEGER
  36.              The number of subdiagonals within the band of A.  KL >= 0.
  37.  
  38.      KU      (input) INTEGER
  39.              The number of superdiagonals within the band of A.  KU >= 0.
  40.  
  41.      AB      (input/output) COMPLEX array, dimension (LDAB,N)
  42.              On entry, the matrix A in band storage, in rows KL+1 to
  43.              2*KL+KU+1; rows 1 to KL of the array need not be set.  The j-th
  44.              column of A is stored in the j-th column of the array AB as
  45.              follows:  AB(kl+ku+1+i-j,j) = A(i,j) for max(1,j-
  46.              ku)<=i<=min(m,j+kl)
  47.  
  48.              On exit, details of the factorization: U is stored as an upper
  49.              triangular band matrix with KL+KU superdiagonals in rows 1 to
  50.              KL+KU+1, and the multipliers used during the factorization are
  51.              stored in rows KL+KU+2 to 2*KL+KU+1.  See below for further
  52.              details.
  53.  
  54.      LDAB    (input) INTEGER
  55.              The leading dimension of the array AB.  LDAB >= 2*KL+KU+1.
  56.  
  57.      IPIV    (output) INTEGER array, dimension (min(M,N))
  58.              The pivot indices; for 1 <= i <= min(M,N), row i of the matrix
  59.              was interchanged with row IPIV(i).
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCGGGGBBBBTTTTFFFF2222((((3333FFFF))))                                                          CCCCGGGGBBBBTTTTFFFF2222((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      INFO    (output) INTEGER
  75.              = 0: successful exit
  76.              < 0: if INFO = -i, the i-th argument had an illegal value
  77.              > 0: if INFO = +i, U(i,i) is exactly zero. The factorization has
  78.              been completed, but the factor U is exactly singular, and
  79.              division by zero will occur if it is used to solve a system of
  80.              equations.
  81.  
  82. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  83.      The band storage scheme is illustrated by the following example, when M =
  84.      N = 6, KL = 2, KU = 1:
  85.  
  86.      On entry:                       On exit:
  87.  
  88.          *    *    *    +    +    +       *    *    *   u14  u25  u36
  89.          *    *    +    +    +    +       *    *   u13  u24  u35  u46
  90.          *   a12  a23  a34  a45  a56      *   u12  u23  u34  u45  u56
  91.         a11  a22  a33  a44  a55  a66     u11  u22  u33  u44  u55  u66
  92.         a21  a32  a43  a54  a65   *      m21  m32  m43  m54  m65   *
  93.         a31  a42  a53  a64   *    *      m31  m42  m53  m64   *    *
  94.  
  95.      Array elements marked * are not used by the routine; elements marked +
  96.      need not be set on entry, but are required by the routine to store
  97.      elements of U, because of fill-in resulting from the row
  98.      interchanges.
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.